package br.ufrn.sigtcc.controller.services;

import java.util.List;

import br.ufrn.sigtcc.controller.services.interfaces.ICursoService;
import br.ufrn.sigtcc.data.DAOCursoImpl;
import br.ufrn.sigtcc.data.interfaces.IDAOCurso;
import br.ufrn.sigtcc.model.entidades.Aluno;
import br.ufrn.sigtcc.model.entidades.Curso;
import br.ufrn.sigtcc.util.exceptions.BDException;
import br.ufrn.sigtcc.util.exceptions.BusinessException;

public class CursoServiceImpl implements ICursoService{

	 
	private IDAOCurso daoCurso =  new DAOCursoImpl();
	
		
	public CursoServiceImpl(IDAOCurso dao) {
		this.daoCurso = dao;
	}
	
	public CursoServiceImpl() {
		
	}
	

	@Override
	public void cadastrarCurso(Curso curso) throws BDException,
			BusinessException {
		  
		this.daoCurso.cadastrarCurso(curso);
	}

	@Override
	public void removerCurso(Curso curso) throws BDException,
			BusinessException {

		this.daoCurso.removerCurso(curso);
		
	}

	@Override
	public void atualizarCurso(Curso curso) throws BDException,
			BusinessException {

		this.daoCurso.atualizarCurso(curso);
		
	}

	@Override
	public List<Curso> listarTodosCursos() throws BDException {
				
		return this.daoCurso.listarCursos();
		
	}

	@Override
	public List<Aluno> listarAlunos(Curso curso)
			throws BDException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void addAluno(Long alunoId) throws BDException, BusinessException {

	//	this.daoCurso.addAluno();
		
	}
	
	public Curso cursoById(Long cursoId) throws BDException, BusinessException {
		return this.daoCurso.findByID(cursoId);
		//	this.daoCurso.addAluno();
			
		}
	

}
